Digital half toning using screening techniques is an approach widely used to maintain the highest quality perceived image while utilizing a printer or display that can only achieve a limited number of output states. Such digital halftoning techniques control the printing of dots, located in pre-determined locations of a screen, to obtain the illusion of continuous tones based upon a comparison of the required shade of gray, or color tone, with one of a set of predetermined threshold levels in an associated threshold halftone table.
One type of screen that has been found to generate visually pleasing patterns is a stochastic screen. A stochastic screen produces fixed size dots with a somewhat random nature (e.g., blue-noise), using halftone patterns that are generally less visible than structured halftone patterns produced by other traditional techniques, such as ordered dither. In general, a threshold halftone table associated with the stochastic screen is tiled across an input image to generate an unstructured, visually appealing resultant half toned image suitable for reproduction using a printer.
To generate a stochastic screen, an algorithm typically requires a large threshold halftone table to reduce the visibility of repeating patterns seen when tiling the stochastic screen across an image. Since most modern printers support resolutions of 600 dots-per-inch (DPI), 1200 DPI, or higher, a large threshold halftone table, for example, 1024×1024 or larger, is often used to reduce the visibility of repeating patterns of the associated stochastic screen. To support ever increasing printer operating speeds, a threshold halftone table is generally stored in high speed memory (e.g., cache memory, tightly coupled memory, or the like) resident in the printer itself. Assuming a threshold halftone table comprises 8 bit entries, a single threshold halftone table of size 1024×1024 can require greater than 1 mega-byte (MB) of high speed printer memory.
Such solutions cause ever-increasing hardware and manufacturing costs due to the large high speed memory requirements, whereas the historical trend in the industry has been directed to declining costs accompanied by increasing performance. Therefore, it is desirable to generate a large stochastic screen using a much smaller threshold halftone table that would require much less high speed memory, to reduce hardware and manufacturing costs.